<?php

class CadastroEmpresaController {

    function CadastroEmpresaController() {
        $this->verificaFormCadastro();
    }

    function verificaFormCadastro() {
        if (!empty($_POST)) {
            if (!empty($_POST['formCadastroEmpresa'])) {
                if ($this->cadastraEmpresa() == true) {
                    ?>
                    <script>
                        document.getElementById('lblInfoCadastro').innerHTML = "<div class='alert-block alert-success span12 text-center' id='lblInfoCadastro'><i class='icon-ok'></i> Cadastrado Com sucesso! <button type='button' class='close' data-dismiss='alert'>&times;</button></div>";
                    </script>    
                    <?

                } else {
                    ?>
                    <script>
                        document.getElementById('lblInfoCadastro').innerHTML = "<div class='alert-block alert-error span12 text-center' id='lblInfoCadastro'><i class='icon-remove'></i> Falhou ao Cadastrar <button type='button' class='close' data-dismiss='alert'>&times;</button></div>";
                    </script>    
                    <?

                }
            }
        }
    }

    function cadastraEmpresa() {
        require_once 'Model/Empresa.php';
        require_once 'DAO/DaoEmpresa.php';
        require_once 'DAO/DaoCidade.php';
        require_once 'DAO/DaoBairro.php';
        require_once 'DAO/DaoPais.php';
        require_once 'DAO/DaoEndereco.php';
        require_once 'Model/Cidade.php';
        require_once 'Model/Bairro.php';
        require_once 'Model/Pais.php';
        require_once 'Model/Endereco.php';
        require_once 'Model/Usuario.php';
        require_once 'DAO/DaoImagemEmpresa.php';
        require_once 'DAO/DaoLocal.php';
        require_once 'DAO/DaoCategoriaEmpresa.php';
        require_once 'DAO/DaoCategorias.php';
        require_once 'DAO/DaoConta.php';
        require_once 'Model/Categorias.php';
        $empresa = new Empresa();
        $empresa->setNome($_POST['edtNome']);
        $empresa->setCnpj($_POST['edtCnpj']);

        $de = new DaoEndereco();
        $endereco = $de->addEndereco(new Endereco(1, $_POST['edtEndereco']));
        $empresa->setEndereco($endereco);

        $empresa->setNumero($_POST['edtNumero']);

        $db = new DaoBairro();
        $bairro = $db->addBairro(new Bairro(0, $_POST['edtBairro']));
        $empresa->setBairro($bairro);

        $dc = new DaoCidade();
        $cidade = $dc->getCidade($_POST['edtCidade']);
        $empresa->setCidade($cidade);

        $empresa->setEmail($_POST['edtEmailEmpresa']);
        $empresa->setSenha($_POST['edtSenhaEmpresa']);

        $demp = new DaoEmpresa();

        $idEmpresa = $demp->addEmpresa($empresa);
        if ($idEmpresa != -1 and $idEmpresa != 0) {
            $empresa->setCodigo($idEmpresa);
            $DaoConta = new DaoConta();
            $plano = (is_numeric($_POST['edtPlano'])) ? $_POST['edtPlano'] : 30;
            $DaoConta->addConta(new Conta(0, $empresa), $plano);
            //Cadastro da Foto
            $arquivos=0;
            if ($_FILES['edtFoto']['error'] == UPLOAD_ERR_OK) {
                if (is_uploaded_file($_FILES['edtFoto']['tmp_name'])) {
                    $caminho = "empresas/E$idEmpresa-" . time() . "-F$arquivos.jpg";
                    if (move_uploaded_file($_FILES['edtFoto']['tmp_name'], "C:/xampp/htdocs/Versao1/img/".$caminho)) {
                        $die = new DaoImagemEmpresa();
                        $imagem = new Imagem();
                        $imagem->setImagem($caminho);
                        $imagem->setDescricao("Simples");
                        $imagem->setPrincipal("S");
                        $imagem->setObjeto($empresa);
                        $die->addImagem($imagem);
                    }
                }
            }
            //Cadastro do Local
            $l = new Local();
            $l->setEndereco($endereco);
            $l->setBairro($bairro);
            $l->setCidade($cidade);
            $l->setDescricao($_POST['edtNome']);
            $l->setNumero($_POST['edtNumero']);
            $dl = new DaoLocal();
            $dl->addLocal($l);
            //Cadastrando Categorias
            $dc = new DaoCategorias();
            foreach ($_POST['edtCategoria'] as $cat) {
                $categoria = new Categorias();
                $de = new DaoCategoriaEmpresa();
                $categoria->setEmpresa($empresa);
                $categoria->setCategoria($de->getCategoria($cat));
                $dc->addCategoriaDaEmpresa($categoria);
            }
            return true;
        } else {
            return false;
        }
    }

}
?>
